package com.supms.course.mapper;

import java.util.List;

import com.supms.course.domain.AttendEval;
import com.supms.course.domain.AttendItems;
import org.apache.ibatis.annotations.Param;

/**
 * 听课评价项Mapper接口
 * 
 * @author LiangHao
 * @date 2022-02-27
 */
public interface AttendItemsMapper 
{
    /**
     * 查询听课评价项
     * 
     * @param id 听课评价项主键
     * @return 听课评价项
     */
    public AttendItems selectAttendItemsById(Long id);

    /**
     * 查询听课评价项列表
     * 
     * @param attendItems 听课评价项
     * @return 听课评价项集合
     */
    public List<AttendItems> selectAttendItemsList(AttendItems attendItems);

    /**
     * 新增听课评价项
     * 
     * @param attendItems 听课评价项
     * @return 结果
     */
    public int insertAttendItems(AttendItems attendItems);

    /**
     * 修改听课评价项
     * 
     * @param attendItems 听课评价项
     * @return 结果
     */
    public int updateAttendItems(AttendItems attendItems);

    /**
     * 删除听课评价项
     * 
     * @param id 听课评价项主键
     * @return 结果
     */
    public int deleteAttendItemsById(Long id);

    /**
     * 批量删除听课评价项
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteAttendItemsByIds(Long[] ids);

    /**
     * 获取当前课类型的听课评价表
     *
     * @param typeNum 课程类型标志
     * @return 结果
     */
    public List<AttendItems> selectAttendItemByType(String typeNum);

    /**
     * 添加听课评价
     * @param attendEvalList 听课评价列表
     * @return 结果
     */
    public int addAttenEval(@Param("attendEvalList") List<AttendEval> attendEvalList);

    /**
     * 通过听课表ID查看听课评价
     * @param attendId 听课表ID
     * @return 结果
     */
    public List<AttendItems> getAttendEvalByAttendId(Long attendId);
}
